package com.changzhi.common.constans;

/**
 * RedisKey管理(防止重复命名)
 */
public interface RedisConstans {

	/**
	 * 一个月的秒数
	 */
	Long ONE_MONTH = 2592000L;

	Long TWO_MONTH = 5184000L;

	Long ONE_YEAR = 31536000L;

	/**
	 * 一周的秒数
	 */
	Long ONE_WEEK = 604800L;

	/**
	 * 两周的秒数
	 */
	Long TWO_WEEK = 1209600L;

	/**
	 * 两天的秒数
	 */
	Long TWO_DAY = 172800L;

	/**
	 * 一天的秒数
	 */
	Long ONE_DAY = 86400L;

	/**
	 * 一小时的秒数
	 */
	Long ONE_HOUR = 3600L;

	/**
	 * 两个小时的秒数
	 */
	Long TWO_HOUR = 7200L;

	/**
	 * 5分钟的秒数
	 */
	Long FIVE_MINUTES = 300L;


	/**
	 * 2分钟的秒数
	 */
	Long TWO_MINUTES = 120L;

	/**
	 * 一分钟的秒数
	 */
	Long ONE_MINUTES = 60L;

	/**
	 * 用户
	 */
	String USER = "user:";

	/**
	 * 用户
	 */
	String ACTIVITY_USER = "activity:user:";

	/**
	 * 活动
	 */
	String ACTIVITY = "activity:";

	/**
	 * 房间
	 */
	String CHANNEL = "channel:info:";

	/**
	 * 用户装扮
	 */
	String USER_DRESS_UP_LIST = "user:dress_up_list:";

	//礼物标识
	String ACTIVITY_FLAG = "activity:flag:";

	/**
	 * 双11活动
	 */
	//送礼用户
	String ACTIVITY_GIFT_USER = "activity:gift:user:";
	//初始化数据
	String ACTIVITY_LOVE = "activity:love";
	//排行榜
	String ACTIVITY_LOVE_RANKING = "activity:love:ranking";
	//告白墙
	String ACTIVITY_LOVE_WALL = "activity:love:wall";
	//奖励区
	String ACTIVITY_LOVE_REWARD = "activity:love:reward";
	//是否有更新礼物
	String ACTIVITY_GIFT_UPDATE = "activity:gift:update";

	/**
	 * 抽奖
	 */
	//抽奖次数
	String ACTIVITY_LOTTERY_COUNT = "activity:lottery:count";
	//已抽奖品总值
	String ACTIVITY_LOTTERY_PRIZE_VALUE = "activity:lottery:prize:value:";
	//必出奖品列表
	String ACTIVITY_LOTTERY_MUST_PRIZE = "activity:lottery:must:prize:";

	/**
	 * 年度活动
	 */
	//年度预选赛
	String YEAR_CHANNEL = "activity:year:channel";
	//年度工会
	String YEAR_EXTERNAL = "activity:year:external";
	//年度之星
	String YEAR_STAR = "activity:year:star";
	String YEAR_STAR_ALL = "activity:year:star:all";
	String YEAR_STAR_ID_1 = "activity:year:star:id:1";
	String YEAR_STAR_ID_2 = "activity:year:star:id:2";
	//年度老板
	String YEAR_BOSS = "activity:year:boss";
	String YEAR_BOSS_VALUE = "activity:year:boss:value";
	//年度明厅pk
	String YEAR_CHANNEL_PK = "activity:year:pk";
	String YEAR_PK_ID = "activity:year:pk_id";
	//厅封面
	String YEAR_CHANNEL_ICON = "activity:year:channel:icon";
	//是否已领取礼物
	String YEAR_CHANNEL_GIFT_USER = "activity:year:gift:";

	/**
	 * 圣诞节活动
	 */
	//礼物总值
	String CHRISTMAS_GIFT = "activity:christmas:gift:value";
	//已抽奖次数
	String CHRISTMAS_LOTTERY_COUNT = "activity:christmas:lottery:count:";
	//抽奖记录
	String CHRISTMAS_GIFT_LIST = "activity:christmas:gift:list";
	//抽奖记录假数据
	String CHRISTMAS_GIFT_FAKE_LIST = "activity:christmas:gift:list:fake";

	/**
	 * 元旦活动
	 */
	//是否有勋章，即是否送过礼物或收过礼物达到10块钱先
	String NEW_IS_MEDAL = "activity:new:medal:";
	//当日是否领取火苗
	String NEW_IS_FLAME = "activity:new:receive:flame:";
	//抽奖次数
	String ACTIVITY_NEW_LOTTERY_COUNT = "activity:new:lottery:count";
	//已抽奖品总值
	String ACTIVITY_NEW_LOTTERY_PRIZE_VALUE = "activity:new:lottery:prize:value:";
	//必出奖品列表
	String ACTIVITY_NEW_LOTTERY_MUST_PRIZE = "activity:new:lottery:must:prize:";
	//已翻牌关卡位置记录
	String NEW_LOTTERY_RECORD = "activity:new:level:location:";
	//已翻牌次数
	String NEW_CARD_NUM= "activity:new:card:num:";
	//已领取挂件
	String NEW_PENDANT = "activity:new:pendant:";
	//卡牌列表
	String NEW_CARD = "activity:new:card:";
	//是否已抽出气泡框
	String NEW_BUBBLE = "activity:new:bubble:";
	//今天是否有抽过奖
	String NEW_IS_CARD = "activity:new:day:card:";

	/**
	 * 过年狂欢节
	 */
	//最后一次切换频道
	String CARNIVAL_LAST_CHANNEL_ID = "activity:last:channel_id:";
	//拼图完成记录
	String CARNIVAL_PUZZLE_FINISH = "activity:puzzle:finish";
	//宝箱数据
	String CARNIVAL_BOX_INFO = "activity:box:info:";
	//本场宝箱获奖用户数
	String CARNIVAL_BOX_AWARDED_NUM = "activity:box:awarded_num:";
	//本场宝箱抢到用户
	String CARNIVAL_BOX_USER = "activity:box:user:";
	//本场最高伤害奖励
	String CARNIVAL_BEAST_MAX_HARM = "activity:beast:harm:max:";
	//本场最后伤害奖励
	String CARNIVAL_BEAST_LAST_HARM = "activity:beast:harm:last:";
	//本场次伤害榜
	String CARNIVAL_BEAST_HEIGHT_HARM = "activity:beast:harm:height:";
	String CARNIVAL_BEAST_HEIGHT_HARM_VALUE = "activity:beast:harm:height:value:";
	//打击年兽获得大于880钻以上奖励
	String CARNIVAL_BEAST_PRIZE_HEIGHT = "activity:beast:prize:height:";
	//推送消息
	String CARNIVAL_PUSH_BOX = "activity:push:box";
	//存储已推送用户
	String CARNIVAL_PUSH_BOX_ID = "activity:push:box:id:";
	//宝箱奖池
	String CARNIVAL_BOX_PRIZE = "activity:box:prize";
	//年兽作战推送
	String CARNIVAL_PUSH_BEAST = "activity:push:beast:";
	//年兽作战推送用户
	String CARNIVAL_PUSH_BEAST_ID = "activity:push:beast:id:";
	//拼图榜
	String CARNIVAL_PUZZLE_RANKINGS = "activity:puzzle:rankings";
	//碎片
	String CARNIVAL_PUZZLE_FRAGMENT = "activity:puzzle:fragment:";
	//有宝箱，api判断此值，有才请求宝箱接口
	String CARNIVAL_BOX = "activity:box";
	//有推送，api判断此值，有才请求推送接口
	String CARNIVAL_PUSH = "activity:push";
	//备份年兽实时数据到缓存
	String CARNIVAL_BEAST_DATA = "activity:beast:data";
	// 年兽作战伤害保存
	String CARNIVAL_BEAST_FREE_HARM = "activity:beast:harm:free:";
	String CARNIVAL_BEAST_PAY_HARM = "activity:beast:harm:pay:";


	/**
	 * 守护恋语
	 */
	//守护排行榜
	String GUARD_RANKING = "activity:guard:rankings";
	//日榜
	String DAY_RANKING_PRIZE = "activity:guard:day:rankings:prize:";

	/**
	 * 元宵节灯谜
	 */
	//数据
	String LANTERN_DATA = "activity:lantern:data";
	//累计送出礼物钻石值
	String LANTERN_GIFT_VALUE = "activity:gift:value:";
	//当前答题的题目
	String LANTERN_CURRENT_NUM= "activity:lantern:current:num:";
	//当前回合信息
	String LANTERN_CURRENT_INFO = "activity:lantern:current:info:";
	//已领取奖品
	String LANTERN_PRIZE = "activity:lantern:prize:";
	//花灯排行榜
	String LANTERN_RANKING = "activity:lantern:rankings:";
	//天榜
	String LANTERN_DAY_RANKING = "activity:lantern:rankings:day:";
	String LANTERN_DAY_RANKING_VALUE = "activity:lantern:rankings:day:value:";
	//每日登录
	String LANTERN_DAY_LOGIN = "activity:lantern:login:";
	//是否已领取
	String LANTERN_RECEIVE_RECORD = "activity:lantern:receive:record:";
	//礼物标识
	String LANTERN_FLAG = "activity:lantern:flag:";
	//假人气
	String CHANNEL_ROBOT = "activity:channel:robot";
	String CHANNEL_ROBOT1 = "activity:channel:robot1";
	//指定礼物
	String GODDESS_SOME_GIFT = "activity:some:gift:";
	//天礼物标识
	String GIFT_DAT = "activity:gift:day:";
	//天礼物差值
	String GIFT_DAY_DIFFER = "activity:gift:day:differ:";
	//活动钱包数据
	String WALLET = "activity:wallet:";
	//奖品记录
	String ACTIVITY_PRIZE_RECORD = "activity:prize:record:";
	//指定礼物
	String ACTIVITY_POINT_GIFT = "activity:point:gift";

	/**
	 * 女神节
	 */
	//排行榜
	String GODDESS_RANKING = "activity:Goddess:ranking";

	/**
	 * 周星
	 */
	//排行榜
	String WEEK_START_RANKING = "activity:week:start:ranking:";


	/**
	 * 甜蜜告白
	 */
	//排行榜
	String WEEK_SWEET_RANKING = "activity:sweet:ranking:";
	//奖品记录
	String SWEET_PRIZE_RECORD = "activity:sweet:prize:record:";

	/**
	 * 排行榜
	 */
	String RANKING = "activity:ranking:";
	//奖品记录
	String PRIZE_RECORD = "activity:prize:record:";

	/**
	 * 星座
	 */
	//星座奖品
	String SIGN_PRIZE = "activity:sign:prize";
	//指定礼物
	String SIGN_POINT_GIFT = "activity:sign:gift";
	//星展
	String SIGN_SHOW = "activity:sign:show";

	/**
	 * 七夕
	 */
	//排行榜
	String ACTIVITY_RANKING = "activity:ranking:";

	/**
	 * 王者争霸赛
	 */
	String ACTIVITY_MATCH_PRIZE = "activity:match:prize:";

	/**
	 * 邀请用户
	 */
	//邀请信息
	String INVITE = "invite:info";
	//邀请钱包
	String INVITE_WALLET = "invite:wallet:";
	//邀请链接访问次数统计
	String EXTERNAL_INVITE_LINK_ACCESS_COUNT = "invite:external:link:";
	//当天奖品兑换数
	String INVITE_PRIZE_EXCHANGE = "invite:prize:exchange";
	//奖品记录
	String INVITE_PRIZE_RECORD = "invite:prize:record:";
	//友情币概率
	String INVITE_RATE = "invite:rate";
	//是否有权限
	String INVITE_AUTH = "invite:auth:";
	//当日是否超过邀请数
	String INVITE_DAY_LIMIT = "invite:day:limit:";
	//累计奖励
	String INVITE_CUMULATIE_DECORATE = "invite:cumulatie:decorate:";
	//邀请奖品
	String INVITE_PRIZE = "invite:prize:";
	//二维码
	String INVITE_QR_CODE = "invite:qr:code:";
	//海报
	String INVITE_POSTER = "invite:poster";

	/**
	 * 圣诞节
	 */
	//当前活动的当前钻石数
	String ACTIVITY_RED_CURRENT_DIAMOND = "activity:red:current:diamond:";
	//当前红包场次id
	String ACTIVITY_RED_CURRENT_ROUND_ID = "activity:red:current:round:";
	//当前红包场次数据
	String ACTIVITY_RED_CURRENT_INFO = "activity:red:current:info:";
	//红包场次数据队列
	String ACTIVITY_RED_CURRENT_QUEUE = "activity:red:current:queue:";
	//需要扫描的房间id红包队列
	String ACTIVITY_RED_CURRENT_CHANNEL_ID = "activity:red:current:channel_id";

	/**
	 * 跨年晚会
	 * @param preKey
	 * @param params
	 * @return
	 */
	//用户对应组id
	String ACTIVITY_YEAR_PARTY_USER_TEAM = "activity:year:party:user:team:";
	//只能被开出一次的奖品记录
	String ACTIVITY_YEAR_PARTY_PRIZE_ONCE = "activity:year:party:prize:once:";
	//用户开出500钻以上记录
	String ACTIVITY_YEAR_PARTY_PRIZE_FIVE_HUNDRED = "activity:year:party:prize:five:hundred:";
	//活动在线时长数据是否已经存在
	String ACTIVITY_TIME_LINE_EXIST = "activity:time:line:exist";
	/**
	 * 活动测试账号
	 */
	String ACTIVITY_TEST_ACCOUNT = "activity:test:account:";

	String ACTIVITY_FIRSTRECHARGET_DEVICE = "activity:firstrecharge:DEVICE:";

	String USER_RECHARGESTATUS = "user:rechargeStatus";
	String USER_RECHARGEGIFTS = "user:rechargeGifts:";

	String USER_CHANNELVIPFLAG = "user:channelVipFlag:";
	String PAYMENT_OFFICALCHARGEMSG = "payment:officalChargeMsg";
	String USER_CHANNELVIPTREASURE = "user:channelVipTreasure:";
	String PAYMENT_OFFICALCHARGEMSGI18N = "payment:officalChargeMsgI18n";



	static String putRediskey(String preKey,Object... params){
		String sufKey = "";
		for (Object param:params){
			sufKey = sufKey + "_" + param;
		}
		return preKey + sufKey;
	}

}
